/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v2006                                 |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version         2.0;
    format          ascii;
    class           dictionary;
    object          blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

scale               1;

// x = streamwise
// y = spanwise
// z = wall-normal

nx                  500;
ny                  5;
nz                  50;
xMin                0;
xMax                5000.0;
yMin                0;
yMax                100.0;
zMin                0.0;
zMax                500.0;
// blockMesh calculator input:
// width of start cell = 1.0 (HW:p. 359)
// number of cells = 50
// total length = 500
// blockMesh calculator output:
// cell-to-cell expansion ratio = 1.076030437 (consistent with 1.076 (HW:Fig.1))
zTotalExpansion     36.25795062;

vertices
(
    ($xMin  $yMin  $zMin)
    ($xMax  $yMin  $zMin)
    ($xMax  $yMax  $zMin)
    ($xMin  $yMax  $zMin)
    ($xMin  $yMin  $zMax)
    ($xMax  $yMin  $zMax)
    ($xMax  $yMax  $zMax)
    ($xMin  $yMax  $zMax)
);

blocks
(
    hex (0 1 2 3 4 5 6 7) ($nx $ny $nz)  simpleGrading (1 1 $zTotalExpansion)
);

edges
(
);

boundary
(
    inlet
    {
        type patch;
        faces
        (
            (0 4 7 3)
        );
    }
    ground
    {
        type wall;
        faces
        (
            (0 3 2 1)
        );
    }
    top
    {
        type patch;
        faces
        (
            (4 5 6 7)
        );
    }
    sides
    {
        type symmetry;
        faces
        (
            (1 5 4 0)
            (3 7 6 2)
        );
    }
    outlet
    {
        type patch;
        faces
        (
            (2 6 5 1)
        );
    }
);

mergePatchPairs
(
);


// ************************************************************************* //
